import java.util.ArrayList;
import java.util.Arrays;

@lombok.Getter
public class Order<T> {
    private T t;
    private int orderId;

    /**
     * 自定义泛型方法
     * 格式：
     * 权限修饰符 <T> 返回值类型 方法名(形参列表){
     * // 通常在形参列表或返回值类型的位置会出现泛型参数 T
     * }
     * 泛型方法在方法调用时，指明其泛型类型
     */
    public <E> E method(E t) {
        return null;
    }

    public <P> ArrayList<P> copyFromArrayList(P[] arr) {

        return new ArrayList<>(Arrays.asList(arr));
    }

    public void setT(T t) {
        this.t = t;
    }

    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }

    @Override
    public String toString() {
        return "Order{" +
                "t=" + t +
                ", orderId=" + orderId +
                '}';
    }
}
